﻿#define _CRT_SECURE_NO_WARNINGS 
#include <stdio.h>
//return返回是否能省略
//void print(void) {
//	printf("aaaaaa");
//}
//int main() {
//	print();
//	return 0 ;
//}

//return返回类型和函数返回类型不一致
//int print() {
//	float a = 3.14;
//	return a;
//}
//int main() {
//	int b=print();
//	printf("%d", b);
//	return 0 ;
//}

//return执行后面语句不在执行
//int print() {
//	float a = 3.14;
//	return a;
//	printf("aaaaaaa");
//}
//int main() {
//	int b=print();
//	printf("%d", b);
//	return 0 ;
//	printf("aaaaaaa");
//}

//分支的每种情况都要有return-并未看出什么情况
//void judgement(int a) {
//	switch (a)
//	{
//	case 1:printf("1");
//		break;
//	case 2:printf("2");
//		break;
//	}
//}
//int main() {
//	int a = 2;
//	judgement(a);
//	return 0;
//}

/*写⼀个函数将⼀个整型数组的内容，全部置为 - 1，
再写⼀个函数打印数组的内容。*/
//void set_arr(int arr[], int sz) {//数组成参数函数里面“[]”不能省略
//	int i = 0;
//	for (i = 0;i < sz;i++) {
//		arr[i] = -1;
//	}
//	return;
//}
//void print_arr(int arr[], int sz) {
//	for (int i = 0; i < sz; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	return;
//}
//void pre_arr(int arr) {
//	printf("\n%d",arr);
//	return;
//}
//int main() {
//	int arr[]={1,2,3,4,5,6,12,4,5,12};
//	//判断数组元素个数
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	set_arr(arr, sz);//全部变成-1
//	print_arr(arr,sz);//整个数组作为参数传入不能加‘[]’
//	pre_arr(arr[5]);//传参数组单个元素自定义函数只需要和穿一个变量一样写就可以
//	return 0;
//}

//假设我们计算某年某⽉有多少天？-每月的天只有四种情况 30，31，28，29
//void days(int y, int m, int day[]) {
//	if (judgeday(y) == 1 && m == 2) {//嵌套函数调用
//		day[m]++;
//	}
//	printf("%d年的%d月有%d天",y,m,day[m]);
//}
//int judgeday(int nian) {//判断是否为闰年
//	if ((nian % 4 == 0 && nian % 100 != 0) || (nian % 400 == 0))
//		return 1;
//	else
//		return 0;
//}
//int main() {
//	//把一年的情况写入数组我们只需要判断2月是否为闰年（闰年不动，不是闰年把29变成28）
//	int day[] = { 0,30,28,31,30,31,30,31,31,30,31,30,31 };
//	int year = 0;
//	int month = 0;
//	scanf("%d %d", &year, &month);
//	//开始判断
//	days(year, month, day);
//	
//	return 0;
//}

//函数的链式访问
//int main() {
//	/*printf("%d", printf("%d", printf("%d", 43)));*/
//	printf("%d",strlen("abcsdf"));
//	return 0;
//}

//函数的声明与定义

//int judgeday(int nian);//函数的声明
//void days(int y, int m, int day[]);//函数的声明
//int main() {
//	//把一年的情况写入数组我们只需要判断2月是否为闰年（闰年不动，不是闰年把29变成28）
//	int day[] = { 0,30,28,31,30,31,30,31,31,30,31,30,31 };
//	int year = 0;
//	int month = 0;
//	scanf("%d %d", &year, &month);
//	//开始判断
//	days(year, month, day);
//	
//	return 0;
//}
//void days(int y, int m, int day[]) {//函数的定义
//	if (judgeday(y) == 1 && m == 2) {//嵌套函数调用
//		day[m]++;
//	}
//	printf("%d年的%d月有%d天",y,m,day[m]);
//}
//int judgeday(int nian) {//判断是否为闰年
//	if ((nian % 4 == 0 && nian % 100 != 0) || (nian % 400 == 0))
//		return 1;
//	else
//		return 0;
//}

//函数多个文件的调用
//int main() {
//	int a, b = 0;
//	scanf("%d %d", &a, &b);
//	int c = add(a, b);//另外文件的函数的调用
//	printf("%d", c);
//	return 0;
//}

//static关键字的使用

//局部变量使用
//void text() {
//	static int j = 0;//把j的生命周期改变成整个程序的生命周期；
//	j++;
//	printf("%d ", j);//不加static的打印为11111；
//}
//int main() {
//	int i = 0;
//	for (i = 0;i <= 5;i++) {
//		text();
//	}
//	return 0;
//}

//全局变量的使用
//extern int flowerC;//引用外面文件的变量。如果外部文件变量加上static代表只能在他当地文件使用
//int main() {
//	printf("%d", flowerC);
//	return 0;
//}

//函数的使用
//int main() {
//	int a, b = 0;
//	scanf("%d %d", &a, &b);
//	int c = add(a, b);//另外文件的函数的调用，使用了static代表函数不能在外面使用，代码错误
//	printf("%d", c);
//	return 0;
//}
